package test;


public class 字符串反转 {
    public static void main(String[] args) {
        String s1 = " hello world "; // 测试用例1
        String s2 = "  Java is great "; // 测试用例2
        String s3 = "a b c d e"; // 测试用例3
        String s4 = "123 456 789"; // 测试用例4

        System.out.println(reverse(s1)); // 输出反转后的字符串
        System.out.println(reverse(s2)); // 输出反转后的字符串
        System.out.println(reverse(s3)); // 输出反转后的字符串
        System.out.println(reverse(s4)); // 输出反转后的字符串
    }

    public static String reverse(String s) {
        String[] words = s.trim().split("\\s+"); // 将字符串按照空格划分成单词，并去掉开头和结尾的空格
        StringBuilder sb = new StringBuilder(); // 创建一个StringBuilder对象

        for (int i = words.length - 1; i >= 0; i--) {
            sb.append(words[i]); // 将单词添加到StringBuilder中
            if (i > 0) {
                sb.append(" "); // 如果不是最后一个单词，则添加一个空格
            }
        }

        return sb.toString(); // 返回反转后的字符串
    }
}
